<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>javascript 阶段</title>
</head>
<body>


    <script>
        // 定义函数 findRepeat，
            // 找出数组中重复的数据,并通过数组返回
            // 如果数组没有重复的数据则返回空数组 
        
        // var obj = { key: {count:0 }  }
        // var obj = { key: [0]  }

        // obj[key] == undefined ;  obj[key] =  true  [上次作业]
        // obj[key] = {} obj[key].count = 0; obj[key].count += 1; [今次作业]


        // 关键字  函数名称() {}
        // function findRepeat(_args) {// 形参
        //     console.log(_args);
        // }

        function findRepeat() {
            // console.log(arguments);
            // 记录传递的实参数据（数组）
            var _args = arguments[0];
            // console.log(_args);// ["aaa", "red", "red", "green", "aaa"]
            // 定义空数组
            var _arr = [];
            // 定义对象 obj[key] == undefined
            var obj = {};
            // 循环_args 数组  obj[key].count = 0
            for(var i = 0 ; i < _args.length ;  i ++){
                // 判断对象obj当中是否具有当前的键值对 {_args[i]: undefined}
                if(obj[_args[i]] == undefined){
                    // 添加一个对象  obj[_args[i]]
                    obj[_args[i]] = {
                        // 设置对象obj[_args[i]] 的属性count
                        count: 1
                    }
                }else {
                    //  给对象对象  obj[_args[i]] 设置count属性自增一
                    obj[_args[i]].count +=1;
                }
            }
            // 打印obj对象
            // console.log(obj);
            // 循环obj对象
            for(var key in obj){
                // 判断count属性是否大于 1，大于的话表示重复的数据
                if(obj[key].count > 1){
                    // 记录重复的数据
                    _arr.push(key);
                }
            }
            // 打印记载重复数据的数组
            // console.log(_arr);

            // 返回值
            return _arr;

        }

        // 例如：
        var arr = ["aaa","red","red","green","red","aaa"];
        var arr2 = [11,22,33];


        // 函数名称();// 函数的调用
        // 函数名称(参数);// 函数的调用
        console.log(findRepeat(arr));// ["aaa","red"]
        console.log(findRepeat(arr2));// []

    </script>
</body>
</html>
